#  多个目录多个源文件
cmake_minimum_required(VERSION 3.10)
 
project(DemoPrj)

set(CXX_STANDARD 14)
set(CXX_STANDARD_REQUIRED TRUE)
set(CXX_EXTENSION FALSE)

# 添加子目录  源代码目录
add_subdirectory(src) 

# 遍历当前目录的所有文件并使用DIR_SRCS保存，也可以通过SET(SRC_LIST main.c)进行指定
aux_source_directory(. DIR_SRCS)
 
# 添加生成可执行文件的保存目录,不会保存中间产物，如果不指定该目录则和中间产物保存在一起
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin )

# 拷贝头文件
# configure_file(*.h ${CMAKE_CURREN_BINARY_DIR}/3rdParty/*.h COPYONLY)

# 添加头文件
# include_directories(${PROJECT_SOURCE_DIR}/src/Common)
include_directories(Common)
include_directories(base)
# include_directories(${CMAKE_CURRENT_BINARY_DIR}/3rdParty)

# 这里将子目录添加到工程
add_subdirectory(Common)
add_subdirectory(base)
 
# 指定生成目标
add_executable(DemoPrj main.cpp)
 
# 添加链接库
# 把子目录集src的编译成的库文件链接到这里
target_link_libraries(DemoPrj add)
 
message(STATUS  ${PROJECT_SOURCE_DIR} "------完成编译和链接生成可执行文件-----\n")
